Datenbankindex

Ein Datenbankindex, oder kurz Index (im Plural „Indexe“ oder „Indizes“), ist eine von der Datenstruktur getrennte Indexstruktur in einer Datenbank, die die Suche und das Sortieren nach bestimmten Feldern beschleunigt.

Ein Index besteht aus einer Ansammlung von Zeigern (Verweisen), die eine Ordnungsrelation auf eine oder mehrere Spalten in einer Tabelle definieren. Wird bei einer Abfrage eine indizierte Spalte als Suchkriterium herangezogen, sucht das Datenbankmanagementsystem (DBMS) die gewünschten Datensätze anhand dieser Zeiger. In der Regel finden hier B+-Bäume Anwendung. Ohne Index müsste die Spalte sequenziell durchsucht werden, während eine Suche mit Hilfe des Baums nur logarithmische Komplexität hat.

In der Datenbanksprache SQL wird ein Index mit dem Befehl

CREATE INDEX Indexname ON Tabellenname ( Spaltenname(n) )

definiert (kein Standard-SQL, siehe unten). Meistens wird eine einzelne Spalte indiziert, doch auch zusammengesetzte Indizes sind in den meisten Datenbanksystemen möglich. Auf Spalten, die Primärschlüssel enthalten (SQL-Klausel primary key im Befehl create table), wird automatisch ein Index gelegt.

Häufig reicht die Sortierung der Daten nach einem Primärindex nicht aus, so dass weitere Indizes erforderlich sind. Wird nun für diese weiteren Erschließungen ein Gesamtinhaltsverzeichnis aufgebaut, entsteht ein Sekundärindex.


Developed by StudentB